import _thread

# def get_ident() ->int64: ...

class Thread:
    def __init__(self, name: str, target: any, args_: any): ...
    
    def start(self): ...
    
    def join(self, timeout: any) -> bool: ...
    
    def __del__(self): ... 

class Condition:

    def __init__(self): ...

    def wait(self, timeout:any) -> bool: ...
    
    def notify(self, n:int): ...

    def notify_all(self): ...
    
    # def _is_owned(self) -> bool: ... 

    def __del__(self): ... 

    def acquire(self, block:bool, timeout:any) -> bool: ...

    def release(self): ... 




class Lock():

    def __init__(self): ... 

    def acquire(self, block:bool, timeout:any) -> bool: ... 
        
    def is_locked(self) -> bool: ...

    def release(self): ... 

    def __del__(self): ... 


class RLock():

    def __init__(self): ... 

    def acquire(self, block:bool, timeout:any) -> bool: ...

    def is_locked(self) -> bool: ... 

    def is_owned(self) -> bool: ... 

    def release(self): ...

    def __del__(self): ...


class Semaphore():

    def __init__(self, value:int): ... 

    def acquire(self, block:bool, timeout:any) -> bool: ...

    def release(self): ...

    def __del__(self): ...



